Higher Order Abstract Interpretation with Flow-Effect Types
نویسندگان
چکیده
This paper describes a novel flow-effect type system that combines concepts of type constraint systems and type effect systems, to achieve a flow-sensitive abstract interpretation of programs with higher-order functions. We prove that a decidable, safe closure algorithm exists. Deriving a decidable type closure algorithm in the presence of higher-order recursive functions is the main technical achievement of the paper.
منابع مشابه
Separate Abstract Interpretation for Control-Flow Analysis
Effect systems and abstract interpretation are two methods to perform static analysis of programs. We present a new technique that builds upon the type and effect information of module signatures to extend abstract interpretation in the context of separate compilation. We use control-flow analysis as an application of this idea to support our claim. Control-flow analysis strives to determine at...
متن کاملAutomated techniques for higher-order program verification
interpretation techniques are used to derive a control-flow analysis for a simple higher-order functional language. The analysis approximates the interprocedural control-flow of both function calls and returns in the presence of first-class functions and tail-call optimization. The analysis is systematically derived by abstract interpretation of the stack-based CaEK abstract machine of Flanagan...
متن کاملAutomated Techniques for Higher-Order Program Verification (NII Shonan Meeting 2011-5)
interpretation techniques are used to derive a control-flow analysis for a simple higher-order functional language. The analysis approximates the interprocedural control-flow of both function calls and returns in the presence of first-class functions and tail-call optimization. The analysis is systematically derived by abstract interpretation of the stack-based CaEK abstract machine of Flanagan...
متن کاملExploiting reachability and cardinality in higher-order flow analysis
We present two complementary improvements for abstract-interpretation-based flow analysis of higher-order languages: (1) abstract garbage collection and (2) abstract counting. Abstract garbage collection is an analog to its concrete counterpart: the analysis determines when an abstract resource has become unreachable, and then reallocates it as fresh. This prevents flow sets from joining during...
متن کاملRealisability semantics of parametric polymorphism, general references and recursive types
We present a realisability model for a call-by-value, higher-order programming language with parametric polymorphism, general first-class references, and recursive types. The main novelty is a relational interpretation of open types that include general reference types. The interpretation uses a new approach to modelling references. The universe of semantic types consists of world-indexed famil...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007